home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / MiscKit1.7.1 / MiscKit / Examples / ProjectTemplates / Library / Makefiles / library.make < prev    next >
Encoding:
Text File  |  1994-09-29  |  3.4 KB  |  113 lines

  1. # lib.make
  2. # by Mike Ferris  (original by Art Isbell - art@cubisol.com)
  3. # Part of MOKit
  4. # Copyright 1993, all rights reserved
  5.  
  6. # About lib.make
  7. #
  8. # This file defines several make targets that extend the Tool project 
  9. # type in ProjectBuilder to support the building of libraries.  This 
  10. # makefile leverages heavily off the Next makefile architecture.
  11. #
  12. # This file is my modifications to the original file by Art Isbell.
  13.  
  14. include $(LOCALMAKEDIR)/version.make
  15.  
  16. version:: $(SYM_DIR) $(OFILE_DIR)
  17.     @(echo "$(NAME) Library Version is $(LIB_VERSION)." ; \
  18.     $(LOCALMAKEDIR)/buildversion $(SYM_DIR)/version.c "$(MAJOR_PROJECT_NAME)" "$(VERSION)" "$(RELEASE)" "$(NAME)" "$(LIB_VERSION)" "$(ALL_CFLAGS)" ; \
  19.     $(CC) $(ALL_CFLAGS) -c $(SYM_DIR)/version.c -o $(OFILE_DIR)/version.o)
  20.  
  21. LIBTOOL = /bin/libtool -o
  22. # LIBTOOL = /bin/ar r
  23.  
  24. lib::
  25.     @($(MKDIRS) $(SYMROOT) ; \
  26.      $(process_target_archs)_obj ; \
  27.     if [ "$(ENGLISH)" = "YES" -o "$(JAPANESE)" != "YES" ] ; then \
  28.         language_cflags="" ; \
  29.     else \
  30.         language_cflags="-DKANJI" ; \
  31.     fi ; \
  32.     $(MAKE) libproject \
  33.         "PRODUCT_ROOT = $(SYMROOT)" \
  34.         "LIBPRODUCT = $(LOCALLIBDIR)/lib$(NAME).a" \
  35.         "OFILE_DIR = $(OBJROOT)/$$obj_dir" \
  36.         "PROJ_CFLAGS = $(NORMAL_CFLAGS) $$language_cflags" \
  37.         "APP_MAKEFILE_DIR = $(APP_MAKEFILE_DIR)" \
  38.         "RC_CFLAGS = $$arch_cflags" \
  39.         "RC_ARCHS = $$archs" \
  40.         "SRCROOT = $(SRCROOT)" \
  41.         "OBJROOT = $(OBJROOT)" \
  42.         "SYMROOT = $(SYMROOT)/sym" \
  43.         "SYM_DIR = $(SYMROOT)/sym" )
  44.  
  45. debuglib::
  46.     @($(MKDIRS) $(SYMROOT) ; \
  47.      $(process_target_archs)_debug_obj ; \
  48.     if [ "$(ENGLISH)" = "YES" -o "$(JAPANESE)" != "YES" ] ; then \
  49.         language_cflags="" ; \
  50.     else \
  51.         language_cflags="-DKANJI" ; \
  52.     fi ; \
  53.     $(MAKE) libproject \
  54.         "PRODUCT_ROOT = $(SYMROOT)" \
  55.         "LIBPRODUCT = $(LOCALLIBDIR)/lib$(NAME)_g.a" \
  56.         "OFILE_DIR = $(OBJROOT)/$$obj_dir" \
  57.         "PROJ_CFLAGS = $(DEBUG_CFLAGS) $$language_cflags" \
  58.         "APP_MAKEFILE_DIR = $(APP_MAKEFILE_DIR)" \
  59.         "RC_CFLAGS = $$arch_cflags" \
  60.         "RC_ARCHS = $$archs" \
  61.         "SRCROOT = $(SRCROOT)" \
  62.         "OBJROOT = $(OBJROOT)" \
  63.         "SYMROOT = $(SYMROOT)/sym" \
  64.         "SYM_DIR = $(SYMROOT)/sym" )
  65.  
  66. profilelib::
  67.     @($(MKDIRS) $(SYMROOT) ; \
  68.      $(process_target_archs)_profile_obj ; \
  69.     if [ "$(ENGLISH)" = "YES" -o "$(JAPANESE)" != "YES" ] ; then \
  70.         language_cflags="" ; \
  71.     else \
  72.         language_cflags="-DKANJI" ; \
  73.     fi ; \
  74.     $(MAKE) libproject \
  75.         "PRODUCT_ROOT = $(SYMROOT)" \
  76.         "LIBPRODUCT = $(LOCALLIBDIR)/lib$(NAME)_p.a" \
  77.         "OFILE_DIR = $(OBJROOT)/$$obj_dir" \
  78.         "PROJ_CFLAGS = $(PROFILE_CFLAGS) $$language_cflags" \
  79.         "APP_MAKEFILE_DIR = $(APP_MAKEFILE_DIR)" \
  80.         "RC_CFLAGS = $$arch_cflags" \
  81.         "RC_ARCHS = $$archs" \
  82.         "SRCROOT = $(SRCROOT)" \
  83.         "OBJROOT = $(OBJROOT)" \
  84.         "SYMROOT = $(SYMROOT)/sym" \
  85.         "SYM_DIR = $(SYMROOT)/sym" )
  86.  
  87. libproject:: $(INITIAL_TARGETS) toplevel_subcomponents resources $(LIBPRODUCT)
  88.  
  89. $(LOCALLIBDIR)/lib$(NAME).a: $(PRODUCT_DEPENDS)
  90.     @(if [ "`$(ECHO) $(OFILES) $(OTHER_OFILES) | wc -w`" != "       0" ] ; \
  91.     then \
  92.         $(STRIP) -x $(OFILES) $(OTHER_OFILES); \
  93.         cmd="$(LIBTOOL) $(LIBPRODUCT) $(OFILES) $(OTHER_OFILES)"; \
  94.         echo $$cmd; \
  95.         $$cmd; \
  96.     fi    )
  97.  
  98. $(LOCALLIBDIR)/lib$(NAME)_g.a : $(PRODUCT_DEPENDS)
  99.     @(if [ "`$(ECHO) $(OFILES) $(OTHER_OFILES) | wc -w`" != "       0" ] ; \
  100.     then \
  101.         cmd="$(LIBTOOL) $(LIBPRODUCT) $(OFILES) $(OTHER_OFILES)"; \
  102.         echo $$cmd; \
  103.         $$cmd; \
  104.     fi    )
  105.  
  106. $(LOCALLIBDIR)/lib$(NAME)_p.a: $(PRODUCT_DEPENDS)
  107.     @(if [ "`$(ECHO) $(OFILES) $(OTHER_OFILES) | wc -w`" != "       0" ] ; \
  108.     then \
  109.         cmd="$(LIBTOOL) $(LIBPRODUCT) $(OFILES) $(OTHER_OFILES)"; \
  110.         echo $$cmd; \
  111.         $$cmd; \
  112.     fi    )
  113.